package com.bw.controller;

import com.alibaba.fastjson.JSON;
import com.bw.entity.City;
import com.bw.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;

@Controller
public class HelloController {

    /**
     * 参数绑定
     * @return
     */
    @RequestMapping("/hello.do")  // 定义请求路径
    public String hello(HttpServletRequest request){
        String name = request.getParameter("name");
        System.out.println("name=" + name);
        String password = request.getParameter("password");
        System.out.println("password=" + password);
        return "hello"; //  jsp文件的名字
    }
    /**
     * 参数绑定   把浏览器发送过来的参数 映射到 controller的入参里
     * @return
     */
    @RequestMapping("/hello2.do")  // 定义请求路径
    public String hello2(String name, Integer password){

        System.out.println("name=" + name);
        System.out.println("password=" + password);
        return "hello"; //  jsp文件的名字
    }
    /**
     * 参数绑定   把浏览器发送过来的参数 映射到 controller的入参里
     * @return
     */
    @RequestMapping("/hello3.do")  // 定义请求路径
    public String hello3(User user){

        System.out.println("user=" + JSON.toJSONString(user));
        return "hello"; //  jsp文件的名字
    }

    @RequestMapping("/city.do")  // 定义请求路径
    @ResponseBody  //把返参 序列化为JSON格式  返回给浏览器
    public List<City> city(){

     return    Arrays.asList(City.builder().id(1).name("北京").build(),City.builder().id(2).name("上海").build());
    }
}
